document.addEventListener('DOMContentLoaded', function() {
    const img = document.querySelector('.moving_img img');
    if (!img) return;

    // 禁止所有交互的终极方案
    const preventAllInteractions = (e) => {
        e.preventDefault();
        e.stopPropagation();
        return false;
    };
    ['dragstart', 'contextmenu', 'mousedown', 'touchstart'].forEach(evt => {
        img.addEventListener(evt, preventAllInteractions);
    });

    // 动态获取图片尺寸的动画逻辑
    function initAnimation() {
        // 获取实际图片尺寸（必须等待图片加载完成）
        const imgWidth = img.naturalWidth || img.offsetWidth;
        const imgHeight = img.naturalHeight || img.offsetHeight;

        // 调试输出
        console.log('图片实际尺寸:', imgWidth, 'x', imgHeight);

        // 初始化位置和速度
        let x = Math.random() * (window.innerWidth - imgWidth);
        let y = Math.random() * (window.innerHeight - imgHeight);
        let dx = 1 + Math.random() * 2; // 1-3px/帧
        let dy = 1 + Math.random() * 2; // 1-3px/帧

        function animate() {
            // 更新位置
            x += dx;
            y += dy;

            // 使用实际尺寸进行边界检测
            const hitRight = x + imgWidth >= window.innerWidth;
            const hitLeft = x <= 0;
            const hitBottom = y + imgHeight >= window.innerHeight;
            const hitTop = y <= 0;

            // 碰撞反弹（带随机扰动）
            if (hitRight || hitLeft) {
                dx *= -1 * (0.9 + Math.random() * 0.2); // 反弹+随机速度变化
                x = hitRight ? window.innerWidth - imgWidth : 0;
                // 添加水平翻转效果
                img.style.transform = `translate(${x}px, ${y}px) scaleX(${dx > 0 ? 1 : -1})`;
            } else if (hitBottom || hitTop) {
                dy *= -1 * (0.9 + Math.random() * 0.2);
                y = hitBottom ? window.innerHeight - imgHeight : 0;
                img.style.transform = `translate(${x}px, ${y}px) scaleX(${dx > 0 ? 1 : -1})`;
            }else {
                img.style.transform = `translate(${x}px, ${y}px) scaleX(${dx > 0 ? 1 : -1})`;
            }
            requestAnimationFrame(animate);
        }

        // 启动动画
        animate();
    }

    // 确保图片加载后执行
    if (img.complete) {
        initAnimation();
    } else {
        img.onload = initAnimation;
        // 设置加载超时回退
        setTimeout(() => {
            if (!img.complete) console.warn('图片加载超时，尝试继续执行');
            initAnimation();
        }, 3000);
    }

    // 窗口大小变化时重置位置
    window.addEventListener('resize', () => {
        const imgWidth = img.naturalWidth || img.offsetWidth;
        const imgHeight = img.naturalHeight || img.offsetHeight;
        img.style.transform = `translate(
            ${Math.min(window.innerWidth - imgWidth, parseFloat(img.style.transform.split('(')[1]?.split('px')[0] || 0))}px,
            ${Math.min(window.innerHeight - imgHeight, parseFloat(img.style.transform.split(',')[1]?.split('px')[0] || 0))}px
        )`;
    });
});